package org.web.locks.databasedistributedlocks.sdk.dto;

public interface LockConstants {

    // 锁定义常量值
    int MAX_LOCK_MARKER_LENGTH = 100; // 锁标识最大长度：100个字符
    int MAX_LOCK_EXPIRE_TIME = 300000; // 锁定时间最大值：300000毫秒
    int MIN_LOCK_EXPIRE_TIME = 500; // 锁定时间最小值：500毫秒
    int MAX_LOCK_OWNER_LENGTH = 50; // 锁拥有者标识最大长度：500个字符

    // 获取锁常量值
    int MAX_TRY_LOCK_TIMEOUT = 300000; // 获取锁超时时间最大值：5分钟
    int MAX_TRY_COUNT = 100; // 尝试次数最大值
    int MIN_TRY_TIMEOUT = 0; // 获取锁超时时间最小值：0毫秒

    // 默认值常量
    long DEFAULT_EXPIRE_TIME = 5000L; // 默认锁定时间：5秒
    long DEFAULT_TRY_LOCK_TIMEOUT = 0L; // 默认获取锁超时时间：不等待
    int DEFAULT_TRY_COUNT = 1; // 默认尝试次数：1次
}
